File hosting or cloud storage services provide users with the ability to upload local files to a networked remote storage system for file backup and sharing. Such services allow users to view or access uploaded files from different devices, and may allow different users to access and modify the same uploaded file in a collaborative environment. While such services make it convenient for users to backup and share files, current file hosting or cloud storage services also have various deficiencies.
For instance, how a file is uploaded to and stored at the remote storage system is typically fixed by the service provider. The local and remote representative states of a file are tightly coupled such that a file can only be uploaded to the networked remote storage system in the same format as the local file, and the user has no flexibility to decouple the local and cloud representations of the file. This undesirably imposes restrictions on every device that is given access to the file to have the capabilities to consume the file format as stored at the remote storage system. As such, a device that may lack the proper capabilities (e.g., a proper application) would not be able to consume the file.
Further, with the tight coupling of the local and remote representative states, conventional systems cannot take into account the different computing environments of devices that may access and store the file. For example, if the device accessing a file is a public computer, it may be desirable to store the file in an encrypted state on the public computer, whereas if the device accessing the file is a personal device, it may be unnecessary to encrypt the file. As another example, if a device accessing a file does not have sufficient capacity to store the file, it may be desirable to compress the file before storing the file at the device. Conventional systems do not provide a user with the flexibility to arbitrarily select different representative states of a file for local and remote storage.
Embodiments of the present invention can address these and other problems individually and collectively.